package sg.edu.nus.iss.vmcs.abstraction;

import java.io.IOException;

import sg.edu.nus.iss.vmcs.store.Coin;
import sg.edu.nus.iss.vmcs.store.Store;
import sg.edu.nus.iss.vmcs.store.StoreItem;

/*
 * @author nyi nyi than
 */

public interface IStoreService
{
	public abstract void storeCoin(Coin c);

	public abstract int getStoreSize(int type);

	public abstract StoreItem[] getStoreItems(int type);

	public abstract void changeStoreQty(int type, int idx, int qty);

	public abstract StoreItem getStoreItem(int type, int idx);

	public abstract void setPrice(int idx, int pr);

	public abstract int getTotalCash();

	public abstract int transferAll();

	public abstract void closeDown() throws IOException;

	public abstract void dispenseDrink(int idx);

	public abstract Store getStore(int type);

	public abstract void giveChange(int idx, int numOfCoins);
}
